package it.abc.sicsic.view.backing.barche;

import it.abc.sicsic.JavaServiceFacade;

import it.abc.sicsic.model.barche.Barche;

import it.abc.sicsic.view.backing.NauticaTemplate;
import it.abc.sicsic.view.util.ViewUtil;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

import oracle.adf.view.rich.component.rich.RichDocument;
import oracle.adf.view.rich.component.rich.RichForm;
import oracle.adf.view.rich.component.rich.input.RichInputText;
import org.apache.log4j.Logger;


@ManagedBean(name = "backing_dettaglioBarche")
@SessionScoped

public class DettaglioBarche {
    private RichInputText itNomeBarca;
    private RichInputText itSiglaIsrcizione;
    private RichInputText itCostruitaDa;
    private RichInputText itSerialeScafo;
    private RichInputText itLunghezza;
    private RichInputText itPescaggio;
    private RichInputText itMotorizzazione;
    private RichInputText itCapacitaGasolio;
    private RichInputText itNumMinEquipaggio;
    private RichInputText itNumMaxPersone;
    private RichInputText itBandiera;
    private RichInputText itAnnoCostruzione;
    private RichInputText itTipoModello;
    private RichInputText itCertificazioneCE;
    private RichInputText itLarghezza;
    private RichInputText itDislocamento;
    private RichInputText itMatricoleMotori;
    private RichInputText itCapacitaAcqua;
    private RichInputText itLimitiNavigazione;
    private RichInputText itAssPolizzaCorpi;
    private RichInputText itAssPolizzaRC;
    private RichInputText itNumeroRegistro;
    private static Logger logger = Logger.getLogger(DettaglioBarche.class);

    public DettaglioBarche() {

        logger.info("DettaglioBarche start");
        logger.info("fromPage=" + ViewUtil.getRequestFromPage());
        
    }
    
    public void salva(ActionEvent actionEvent) {
        JavaServiceFacade serviceFacade = new JavaServiceFacade();
        Barche barca = buildBarche();
        serviceFacade.persistBarche(barca);
    }
    
    public void setItNomeBarca(RichInputText itNomeBarca) {
        this.itNomeBarca = itNomeBarca;
    }

    public RichInputText getItNomeBarca() {
        return itNomeBarca;
    }

    public void setItSiglaIsrcizione(RichInputText itSiglaIsrcizione) {
        this.itSiglaIsrcizione = itSiglaIsrcizione;
    }

    public RichInputText getItSiglaIsrcizione() {
        return itSiglaIsrcizione;
    }

    public void setItCostruitaDa(RichInputText itCostruitaDa) {
        this.itCostruitaDa = itCostruitaDa;
    }

    public RichInputText getItCostruitaDa() {
        return itCostruitaDa;
    }

    public void setItSerialeScafo(RichInputText itSerialeScafo) {
        this.itSerialeScafo = itSerialeScafo;
    }

    public RichInputText getItSerialeScafo() {
        return itSerialeScafo;
    }

    public void setItLunghezza(RichInputText itLunghezza) {
        this.itLunghezza = itLunghezza;
    }

    public RichInputText getItLunghezza() {
        return itLunghezza;
    }

    public void setItPescaggio(RichInputText itPescaggio) {
        this.itPescaggio = itPescaggio;
    }

    public RichInputText getItPescaggio() {
        return itPescaggio;
    }

    public void setItMotorizzazione(RichInputText itMotorizzazione) {
        this.itMotorizzazione = itMotorizzazione;
    }

    public RichInputText getItMotorizzazione() {
        return itMotorizzazione;
    }

    public void setItCapacitaGasolio(RichInputText itCapacitaGasolio) {
        this.itCapacitaGasolio = itCapacitaGasolio;
    }

    public RichInputText getItCapacitaGasolio() {
        return itCapacitaGasolio;
    }

    public void setItNumMinEquipaggio(RichInputText itNumMinEquipaggio) {
        this.itNumMinEquipaggio = itNumMinEquipaggio;
    }

    public RichInputText getItNumMinEquipaggio() {
        return itNumMinEquipaggio;
    }

    public void setItNumMaxPersone(RichInputText itNumMaxPersone) {
        this.itNumMaxPersone = itNumMaxPersone;
    }

    public RichInputText getItNumMaxPersone() {
        return itNumMaxPersone;
    }

    public void setItBandiera(RichInputText itBandiera) {
        this.itBandiera = itBandiera;
    }

    public RichInputText getItBandiera() {
        return itBandiera;
    }

    public void setItAnnoCostruzione(RichInputText itAnnoCostruzione) {
        this.itAnnoCostruzione = itAnnoCostruzione;
    }

    public RichInputText getItAnnoCostruzione() {
        return itAnnoCostruzione;
    }

    public void setItTipoModello(RichInputText itTipoModello) {
        this.itTipoModello = itTipoModello;
    }

    public RichInputText getItTipoModello() {
        return itTipoModello;
    }

    public void setItCertificazioneCE(RichInputText itCertificazioneCE) {
        this.itCertificazioneCE = itCertificazioneCE;
    }

    public RichInputText getItCertificazioneCE() {
        return itCertificazioneCE;
    }

    public void setItLarghezza(RichInputText itLarghezza) {
        this.itLarghezza = itLarghezza;
    }

    public RichInputText getItLarghezza() {
        return itLarghezza;
    }

    public void setItDislocamento(RichInputText itDislocamento) {
        this.itDislocamento = itDislocamento;
    }

    public RichInputText getItDislocamento() {
        return itDislocamento;
    }

    public void setItMatricoleMotori(RichInputText itMatricoleMotori) {
        this.itMatricoleMotori = itMatricoleMotori;
    }

    public RichInputText getItMatricoleMotori() {
        return itMatricoleMotori;
    }

    public void setItCapacitaAcqua(RichInputText itCapacitaAcqua) {
        this.itCapacitaAcqua = itCapacitaAcqua;
    }

    public RichInputText getItCapacitaAcqua() {
        return itCapacitaAcqua;
    }

    public void setItLimitiNavigazione(RichInputText itLimitiNavigazione) {
        this.itLimitiNavigazione = itLimitiNavigazione;
    }

    public RichInputText getItLimitiNavigazione() {
        return itLimitiNavigazione;
    }

    public void setItAssPolizzaCorpi(RichInputText itAssPolizzaCorpi) {
        this.itAssPolizzaCorpi = itAssPolizzaCorpi;
    }

    public RichInputText getItAssPolizzaCorpi() {
        return itAssPolizzaCorpi;
    }

    public void setItAssPolizzaRC(RichInputText itAssPolizzaRC) {
        this.itAssPolizzaRC = itAssPolizzaRC;
    }

    public RichInputText getItAssPolizzaRC() {
        return itAssPolizzaRC;
    }

    public void setItNumeroRegistro(RichInputText itNumeroRegistro) {
        this.itNumeroRegistro = itNumeroRegistro;
    }

    public RichInputText getItNumeroRegistro() {
        return itNumeroRegistro;
    }
    
    private String getNomeBarca(){
        return ViewUtil.getStringValue(getItNomeBarca());
    }
    private String getSiglaIsrcizione(){
        return ViewUtil.getStringValue(getItSiglaIsrcizione());
    }
    private String getCostruitaDa(){
        return ViewUtil.getStringValue(getItCostruitaDa());    
    }
    private String getSerialeScafo(){
        return ViewUtil.getStringValue(getItSerialeScafo());
    }
    private String getLunghezza(){
        return ViewUtil.getStringValue(getItLunghezza());
    }
    private String getPescaggio(){
        return ViewUtil.getStringValue(getItPescaggio());
    }
    private String getMotorizzazione(){
        return ViewUtil.getStringValue(getItMotorizzazione());
    }
    private String getCapacitaGasolio(){
        return ViewUtil.getStringValue(getItCapacitaGasolio());
    }
    private String getNumMinEquipaggio(){
        return ViewUtil.getStringValue(getItNumMinEquipaggio());
    }
    private String getNumMaxPersone(){
        return ViewUtil.getStringValue(getItNumMaxPersone());
    }
    private String getBandiera(){
        return ViewUtil.getStringValue(getItBandiera());
    }
    private String getAnnoCostruzione(){
        return ViewUtil.getStringValue(getItAnnoCostruzione());
    }
    private String getTipoModello(){
        return ViewUtil.getStringValue(getItTipoModello());
    }
    private String getCertificazioneCE(){
        return ViewUtil.getStringValue(getItCertificazioneCE());
    }
    private String getLarghezza(){
        return ViewUtil.getStringValue(getItLarghezza());
    }
    private String getDislocamento(){
        return ViewUtil.getStringValue(getItDislocamento());
    }
    private String getMatricoleMotori(){
        return ViewUtil.getStringValue(getItMatricoleMotori());
    }
    private String getCapacitaAcqua(){
        return ViewUtil.getStringValue(getItCapacitaAcqua());
    }
    private String getLimitiNavigazione(){
        return ViewUtil.getStringValue(getItLimitiNavigazione());
    }
    private String getAssPolizzaCorpi(){
        return ViewUtil.getStringValue(getItAssPolizzaCorpi());
    }
    private String getAssPolizzaRC(){
        return ViewUtil.getStringValue(getItAssPolizzaRC());
    }
    private String getNumeroRegistro(){
        return ViewUtil.getStringValue(getItNumeroRegistro());
    }
    
    /** SETTA VALORI DELLA BARCA */
    private Barche buildBarche(){
        Barche barche = new Barche();
        barche.setNomeBarca(getNomeBarca());
        barche.setSiglaIscrizione(getSiglaIsrcizione());
        barche.setCostruitaDa(getCostruitaDa());
        barche.setSerialeScafo(getSerialeScafo());
        barche.setLarghezza(getLunghezza());
        barche.setPescaggio(getPescaggio());
        barche.setMotorizzazione(getMotorizzazione());
        barche.setCapacitaGasolio(getCapacitaGasolio());
        barche.setNumMinEquipaggio(getNumMinEquipaggio());
        barche.setNumMaxEquipaggio(getNumMaxPersone());
        barche.setBandiera(getBandiera());
        barche.setAnnoCostruzione(getAnnoCostruzione());
        barche.setTipoModello(getTipoModello());
        barche.setCertificazioneCE(getCertificazioneCE());
        barche.setLarghezza(getLarghezza());
        barche.setDislocamento(getDislocamento());
        barche.setMatricoleMotori(getMatricoleMotori());
        barche.setCapacitaAcqua(getCapacitaAcqua());
        barche.setLimitiNavigazione(getLimitiNavigazione());
        barche.setAssPolizzaCorpi(getAssPolizzaCorpi());
        barche.setAssPolizzaRC(getAssPolizzaRC());
        barche.setNumeroRegistro(getNumeroRegistro());
        return barche;
    }


}
